package com.ilop.sthome.mvp.contract.device;

import android.content.Intent;

import com.example.common.mvp.IBasePresenter;
import com.example.common.mvp.IBaseView;
import com.ilop.sthome.data.greenDao.DeviceInfoBean;

import java.util.List;

/**
 * @author skygge
 * @date 2019-10-10.
 * GitHub：javofxu@github.com
 * email：skygge@yeah.net
 * description：设备页业务逻辑
 */
public interface DeviceContract {

    interface IView extends IBaseView{

        void deviceListIsEmpty(boolean isEmpty);

        void skipActivity(Intent intent);

        void showMsg(String msg);
    }

    interface IPresent extends IBasePresenter<IView>{

        /**
         * 获取网关
         */
        void getGatewayList();

        /**
         * 获取摄像头和房间
         */
        void getRoomListByAccount();

        /**
         * 更新网关列表
         */
        void updateGatewayList(List<DeviceInfoBean> gatewayList);

        /**
         * 开始同步
         */
        void startSynchronization(List<DeviceInfoBean> gatewayList);

        /**
         * 停止同步并显示离线
         */
        void stopGatewayIsOffLine(String deviceName);

        /**
         * 同步子设备
         */
        void synchronizationGateway(DeviceInfoBean device);

        /**
         * 同步子设备
         */
        void synchronizationSubDevice(String deviceName, String roomId);

        /**
         * 同步子设备昵称
         */
        void synchronizationNickName(String deviceName);

        /**
         * 同步场景
         */
        void synchronizationScene(String deviceName);

        /**
         * 同步自动化
         */
        void synchronizationFinish(String deviceName);

        /**
         * 更新网关相关页面
         */
        void refreshViews();

        /**
         * 子设备点击事件
         */
        void clickChildItem(DeviceInfoBean deviceInfo);


        void viewOnDestroy();
    }
}
